Para leer los atributos de un objeto desde el directorio, usamos DirContext.getAttributes() y le pasamos el nombre del objeto del que queremos los atributos. Supongamos que un objeto del servicio de nombres tiene el nombre "cn=Ted Geisel, ou=People". Para recuperar los atributos de este objeto, necesitamos un c�digo que se parece a esto.
Attributes answer = ctx.getAttributes("cn=Ted Geisel, ou=People");
Podemos imprimir el contenido de esta respuesta de esta forma.
for (NamingEnumeration ae = answer.getAll(); ae.hasMore();) {
Attribute attr = (Attribute)ae.next();
System.out.println("attribute: " + attr.getID());
/* Print each value */
for (NamingEnumeration e = attr.getAll(); e.hasMore();
System.out.println("value: " + e.next()))
;
}
Esto produce la siguiente salida.
# java GetattrsAll attribute: sn value: Geisel attribute: objectclass value: top value: person value: organizationalPerson value: inetOrgPerson attribute: jpegphoto value: [B@1dacd78b attribute: mail value: [email protected] attribute: facsimiletelephonenumber value: +1 408 555 2329 attribute: telephonenumber value: +1 408 555 5252 attribute: cn value: Ted Geisel
�Devolver los Atributos Elegidos
Para leer un subconjunto de atributos seleccionados, suministramos un array de strings que son los identificadores de los atributos que queremos recuperar.
// Specify the ids of the attributes to return
String[] attrIDs = {"sn", "telephonenumber", "golfhandicap", "mail"};
// Get the attributes requested
Attributes answer = ctx.getAttributes("cn=Ted Geisel, ou=People", attrIDs);
Este ejemplo solicita los atributos "sn", "telephonenumber", "golfhandicap" y "mail" del objeto "cn=Ted Geisel, ou=People". Este objeto los tiene todos excepto el atributo "golfhandicap", y por eso se devuelven s�lo tres atributos en la respuesta. Aqu� tenemos la salida de este ejemplo.
# java Getattrs attribute: sn value: Geisel attribute: mail value: [email protected] attribute: telephonenumber value: +1 408 555 5252